home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
amok_lha
/
amok15.lha
/
Seafarers_Manual
/
Source
/
C6P1.mod
< prev
next >
Wrap
Text File
|
1993-08-15
|
2KB
|
83 lines
MODULE C6P1; (* Chapter 6 Problem 1 *)
(* Size of variables *)
(* From the book "Modula-2 A Seafarer's Manual and Shipyard Guide" *)
(* Page 190 adapted "Amiga M2Modula-2" 13 Mar 1988 *)
FROM InOut IMPORT WriteLn,
WriteString,
WriteCard;
FROM SYSTEM IMPORT WORD,
ADDRESS,
BITSET;
VAR
Int : INTEGER;
Car : CARDINAL;
Boo : BOOLEAN;
Cha : CHAR;
Rea : REAL;
Bit : BITSET;
Poi : POINTER TO CARDINAL;
Pro : PROCEDURE (LONGCARD, INTEGER);
Wor : WORD;
Add : ADDRESS;
BEGIN
WriteLn;
WriteString ("Size of variables in bits is:");
WriteLn;
Int := 0;
WriteString (" Integer: ");
WriteCard ( (SIZE (Int) * 8), 8);
WriteLn;
Car := 0;
WriteString (" Cardinal: ");
WriteCard ( (SIZE (Car) * 8), 8);
WriteLn;
Boo := TRUE;
WriteString (" Boolean: ");
WriteCard ( (SIZE (Boo) * 8), 8);
WriteLn;
Cha := "A";
WriteString (" Character: ");
WriteCard ( (SIZE (Cha) * 8), 8);
WriteLn;
Rea := 0.0;
WriteString (" Real: ");
WriteCard ( (SIZE (Rea) * 8), 8);
WriteLn;
Bit := {0,1,2,3};
WriteString (" BitSet: ");
WriteCard ( (SIZE (Bit) * 8), 8);
WriteLn;
WriteString (" Pointer to Cardinal:");
WriteCard ( (SIZE (Poi) * 8), 8);
WriteLn;
Pro := WriteCard;
WriteString (" Procedure: ");
WriteCard ( (SIZE (Pro) * 8), 8);
WriteLn;
Wor := 5;
WriteString (" Word: ");
WriteCard ( (SIZE (Wor) * 8), 8);
WriteLn;
Add := 500;
WriteString (" Address: ");
WriteCard ( (SIZE (Add) * 8), 8);
WriteLn;
WriteLn; WriteLn;
END C6P1.mod